1. Field of the Invention
The present invention relates to an absolute multi-revolution encoder for detecting the absolute position of, for example, a drive shaft on a machine tool, robot, table and the like. Such encoder is important to determining the position of a machine during operation, where a programmed or an emergency stop is required and there is a need to restart the machine at an accurate position.
2. Description of the Background Art
FIG. 7 shows the general structure of a conventional absolute multi-revolution encoder, wherein an outer casing 1 is penetrated by an input shaft 2 which has mounted thereon a multi-revolution detector 3. Also mounted on the input shaft 2 is an absolute-value detector 4. A printed circuit board 5 includes analog processing circuits for shaping the output from the detectors, and a printed circuit board 6 includes a circuit for digital processing the output of the analog processing circuits.
Conventionally, the absolute value decoder 4 comprises a patterned first disk that is fixed and an adjacent, parallel and patterned second disk that rotates with the shaft. A source of light (typically an LED) on one external side of the pair of parallel disks is directed toward photocells disposed on an opposite side of the pair of disks. The output of the photocells is determined by the overlaying patterns of the two disks and uniquely define an angular position in one revolution of the shaft.
The multi-revolution detector 3 is needed to identify the net rotational position of the shaft after multiple revolutions, particularly where the series of revolutions may change rotational direction several times during an operation of a machine. Conventionally, the detector 3 may be a magnetic resonance detector that generates two rotational position signals that differ in phase, depending on the direction of rotation, and the resultant phase from a comparison of the two signals will indicate the current direction of rotation.
FIG. 8 is a block diagram of the signal processors installed on the printed circuit boards 5, 6. Two waveform shaping circuits 7, 8 are provided for shaping the waveforms of two detection signals 16, 17, which are output by the multi-revolution detector 3 and are 90 degrees out of phase. The waveform shaping circuits generate respective signals A and B, which are amplified for digital processing but remain correspondingly out of phase. A two-phase pulse processing circuit 11 receives the two signals A, B and generates an output to an n-bit up/down counter 13. Counter circuit 13 outputs count signals K.sub.l through K.sub.n to an arithmetic section 19, which also receives m-bit rotary angle position signals S.sub.l through S.sub.m that are output on line 18 from the absolute-value detector 4.
The operation of the encoder will now be described in reference to the appended drawings. When the input shaft 2 rotates, its rotation is detected by the multi-revolution detector 3 which then outputs two multi-revolution detection signals 16, 17 which are 90 degrees out of phase. These multi-revolution detection signals 16, 17 are converted into up-count pulses or down-count pulses, corresponding to the rotation direction of the input shaft 2, via the waveform shaping circuits 7, 8 and the two-phase pulse processing circuit 11 in FIG. 8. The count pulses from pulse processing circuits 11 are input to the n-bit up/down counter 13, which then outputs n-bit counter values to the arithmetic section 19. The additional input of rotary angle position signals 18 from the absolute value encoder 4 permits the arithmetic section 19 to identify the absolute position of the shaft.
An example of the conventional circuit operation is illustrated in FIG. 9. Shown there are a variety of signals that are generated during multiple revolutions of the shaft 2, first in a forward direction by one revolution and 90.degree. and then in a reverse direction by two revolutions. Initially, the original signals 16, 17 detected by detector 3 during the multiple revolutions of the shaft and input to the wave shaping circuits 7, 8 of FIG. 8, and the corresponding shaped outputs A.sub.l and B.sub.l from the circuits, are illustrated. Subsequently, the result of combinations of these conditions are also illustrated. For example, when (1) the input shaft is rotating in a forward direction, (2) the wavefrom shaping circuit output A.sub.l is HIGH, and (3) the waveform shaping circuit output B.sub.l is rising, an up-count pulse U.sub.P is output from the two-phase pulse processing circuit 11. As a result, up/down counter 13 will count up. By contrast, when (1) the input shaft is rotating in a reverse direction, (2) the waveform shaping circuit output A.sub.l is at a HIGH level, and (3) waveform shaping circuit output B.sub.l is falling, down-count pulse D.sub.P is output from two-phase pulse processing circuit 11 and up-down counter 13 will count down. The result of the above-described count is seen as the combination of N-bit signals that are output from counter 13 on lines K.sub.l to K.sub.n and a digital counter value that may be displayed in operator readable notation. Specifically, the counter which proceeds in accordance with the illustrated example will first generate a +1 pulse and then three successive -1 pulses, the accumulated count thereby varying from 0 to +1, to 0, to -1, to -2.
Conventionally, this count operation is adjusted beforehand by the multi-revolution detector 3 so as to be performed only at a position where a rotary angle position signal 18, as described below, corresponds to zero degrees.
The output signal of the absolute-value detector 4 is converted into the encoded m-bit rotary angle position signals S.sub.l to S.sub.m on lines 18, i.e. a special code referred to as a gray code that conventionally assumes values that correspond to angles from 0 degrees to 360 degrees. Specifically, the output of the detector 4 is processed by an operational amplifier, a comparator or the like (not illustrated) on the waveform shaping printed circuit board 5, and is input to the arithmetic section 19. The arithmetic section 19 calculates an m-bit rotary angle value on the basis of the m-bit rotary angle position signals S.sub.l through S.sub.m on lines 18 entered, synthesizes the rotary angle value with the n-bit counter value already read, and serially outputs the result as an m+n-bit absolute-value signal.
In the above mentioned structure of the conventional absolute multi-revolution encoder, incorrect data may be output by the arithmetic section 19 for several reasons. First, the counter value of the up/down counter 13 is read into the arithmetic section 19 while the up/down counter 13 is just beginning to perform the count operation (in an indefinite area defined by the rising edge of the counter pulse K.sub.l and the rising edge of the counter pulse K.sub.n, as seen in FIG. 9). Second, incorrect data on one revolution may be output if an offset between a point of the count operation and a zero point of the rotary angle position signal is greater than the resolution of the rotary angle position. Temperature variations in the working environment or vibration can affect the resolution of the position detector. Further, incorrect data may also be output if a hysteresis effect is large due to the forward and reverse rotations of the input shaft.
A further difficulty is that the maintenance of an absolute rotational value requires memory to count up/down the number of revolutions and the count would be lost if a power failure occurs, necessitating an initialization of the entire detector system.